﻿Imports BLL
Module ModuloGeneral

    ' ============== INICIO ACCESOS AL D.A.L. ===============
    'Public GestorParametrosSistema As New GestorParametrosSistema()
    ' =============== FINAL ACCESOS AL D.A.L. ===============
    Public gestorProcesos As New GestorProcesos()
    Public gestorUsuarios As GestorMantenimientoUsuarios = New GestorMantenimientoUsuarios()
    Public gestorEjercicios As GestorMantenimientoEjercicios = New GestorMantenimientoEjercicios()
    Public gestorMusculos As GestorMantMusculos = New GestorMantMusculos()
    Public animator As Animator = New Animator()
    Public intercept As New SqlErrorInterceptor()
    Public gestorRol As New GestorMantRoles()

    ' Metodo para centrar cualquier objeto con su contenedor padre.

    Public Enum Permiso As Integer
        Acceso_mantenimiento_ejercicios = 1
        Listar_ejercicios = 2
        Incluir_ejercicios = 3
        Modificar_ejercicios = 4
        Eliminar_ejercicios = 5
        Acceso_mantenimiento_máquinas = 6
        Listar_máquinas = 7
        Incluir_máquinas = 8
        Modificar_máquinas = 9
        Eliminar_máquinas = 10
        Acceso_mantenimiento_músculos = 11
        Listar_músculos = 12
        Incluir_músculos = 13
        Modificar_músculos = 14
        Eliminar_músculos = 15
        Acceso_mantenimiento_usuarios = 16
        Listar_usuarios = 17
        Incluir_usuarios = 18
        Modificar_usuarios = 19
        Eliminar_usuarios = 20
        Acceso_mantenimiento_roles = 21
        Listar_roles = 22
        Incluir_roles = 23
        Modificar_roles = 24
        Eliminar_roles = 25
        Acceso_parámetros_generales = 26
        Modificar_parámetros = 27
        Acceso_a_Pagos = 28
        Realizar_Pagos = 29
        Acceso_informe_evolución = 30
        Imprimir_informe_evolución = 31
        Acceso_reporte_funcionarios = 32
        Imprimir_reporte_funcionarios = 33
        Acceso_reporte_horario_funcionarios = 34
        Imprimir_horario_funcionarios = 35
        Acceso_reporte_clientes_morosos = 36
        Imprimir_reporte_clientes_morosos = 37
        Acceso_bitacora_eventos = 38
        Imprimir_bitacora_eventos = 39
        Acceso_bitacora_transacciones = 40
        Imprimir_bitacora_transacciones = 41
    End Enum
    Public Sub Centrar(ByVal Objeto As Object)
        ' Centrar un Formulario ...  
        If TypeOf Objeto Is Form Then
            Dim frm As Form = CType(Objeto, Form)
            With Screen.PrimaryScreen.WorkingArea ' Dimensiones de la pantalla sin el TaskBar  
                frm.Top = (.Height - frm.Height) \ 2
                frm.Left = (.Width - frm.Width) \ 2
            End With

            ' Centrar un control dentro del contenedor  
        Else
            ' referencia al control  
            Dim c As Control = CType(Objeto, Control)

            'le  establece el top y el Left dentro del Parent  
            With c
                .Top = (.Parent.ClientSize.Height - c.Height) \ 2
                .Left = (.Parent.ClientSize.Width - c.Width) \ 2
            End With
        End If
    End Sub

    Public Function ValidEmptyFields(ByVal Objeto As Object, ByRef errorMessage As String) As Boolean
        ' Confirm there is text in the control. 
        If TypeOf Objeto Is TextBox Then
            If Objeto.Text.Length = 0 Then
                errorMessage = "Este valor es requerido."
                Return False

            End If
        End If

        Return True
    End Function

    Public Sub ResetearTextBoxAnidados(Cntrl As Control)


        For Each ctrl As Control In Cntrl.Controls
            If TypeOf ctrl Is ScrollableControl Or TypeOf ctrl Is GroupBox Or TypeOf ctrl Is TabControl Then
                ResetearTextBoxAnidados(ctrl)
            ElseIf TypeOf ctrl Is TextBox Then
                ctrl.Text = ""
            End If
        Next

    End Sub

 

End Module
